﻿namespace Example.Creational
{
    using Example.Creational.LazyInitialization;

    using Xunit;

    /// <summary>
    /// Tactic of delaying the creation of an object, the calculation of a value, or some other expensive process until the first time it is needed.
    /// </summary>
    public sealed class LazyInitializationFacts
    {
        [Fact]
        public void retrieve_message()
        {
            const string expected = "A message value.";
            var actual = new Thing().Message;

            Assert.Equal(expected, actual);
        }
    }
}